iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
Mobile Development

Android與Spring Boot開發學習之旅系列 第 1

開發學習之旅 Day1 - Android生命週期

  • 分享至 

  • xImage
  •  

在Android中,生命週期指的是在運行時所經歷的不同階段和事件。每個生命週期的方法在特定的狀況下會被系統自動調用,這些情況通常與使用者的互動和系統事件有關。以下是Android應用程式的生命週期階段:

onCreate

第一個階段,此時程式正在初始化,通常會在這個階段設置應用程式的基本結構,如佈局、宣告物件監聽、初始變數等等。這個階段只會在應用程式啟動時觸發一次。

onStart

此階段UI初始化,應用程式即將可見,但未處於活動狀態。在這個階段,可以執行一些輕量級的初始化工作,如設置UI元素。

onResume

這是應用程式的主要互動階段,用於執行與用戶互動相關的操作,像是監控使用者操作、動態更新UI等等。

onPause

當應用程式失去焦點,例如按下返回按鈕或切換到其他應用程式時。在這個階段應該執行一些清理工作,例如取消監聽、停止計時器。這些工作應盡量保持輕量級,因為需要在短時間內執行。

onStop

當應用程式被其他應用程式覆蓋或使用者返回主畫面時,在這個階段,應該要釋放不需要的資源。
onStop()是一個更靜止的狀態與onPause()不同,因此可以執行更耗時的操作。

onDestroy

發生在使用者主動關閉應用程式或系統回收資源時,在這個階段,應該釋放所有資源,並確保處於結束狀態。


在不同生命週期方法中使用Log於Android Activity中記錄生命週期狀態:

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "onCreate");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "onStart");
    }

    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "onResume");
    }

    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "onStop");
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Log.d(TAG, "onDestroy");
    }
}

onCreatem、onStart與onResume階段在程式執行時會自動調用。
onPause、onStop可以利用按下返回按鈕調用。
onDestroy在主動關閉應用程式時調用。
/images/emoticon/emoticon49.gif


下一篇
開發學習之旅 Day2 - Fragment生命週期
系列文
Android與Spring Boot開發學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言